package com.lantosec.hmrp.modules.report.service.impl;

import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.lantosec.hmrp.core.kit.PageVO;
import com.lantosec.hmrp.modules.report.mapper.WindIndexMapper;
import com.lantosec.hmrp.modules.report.service.IWindIndexService;
import lombok.extern.log4j.Log4j2;
import org.springframework.context.annotation.Primary;
import org.springframework.stereotype.Service;

import java.util.Map;

@Service
@Primary
@Log4j2
public class WindIndexServiceImpl extends ServiceImpl<WindIndexMapper, Map> implements IWindIndexService {

    @Override
    public PageVO<Map<String, Object>> getClinicDeptInfoMonitorList(PageVO<Map<String, Object>> page, String startTime, String endTime, String deptName, String docName, Integer dateState, Integer deptState, Integer docNameState) {
        return baseMapper.getClinicDeptInfoMonitorList(page,startTime,endTime,deptName,docName,dateState,deptState,docNameState);
    }

    @Override
    public PageVO<Map<String, Object>> getInnerDeptInfoMonitorList(PageVO<Map<String, Object>> page, String startTime, String endTime, String deptName, Integer dateState, Integer deptState) {
        return baseMapper.getInnerDeptInfoMonitorList(page,startTime,endTime,deptName,dateState,deptState);
    }

    @Override
    public PageVO<Map<String, Object>> getReportDrugFeeRank(PageVO<Map<String, Object>> page, String startTime, String endTime, String drugName, Integer dateState, Integer drugSate) {
        return baseMapper.getReportDrugFeeRank(page,startTime,endTime,drugName,dateState,drugSate);
    }

    @Override
    public PageVO<Map<String, Object>> getReportAuxDrugFeeRank(PageVO<Map<String, Object>> page, String startTime, String endTime, String hisDeptName, String doctorName, String auxDrugName, Integer dateState, Integer hisDeptState, Integer doctorState, Integer auxDrugState) {
        return baseMapper.getReportAuxDrugFeeRank(page,startTime,endTime,hisDeptName,doctorName,auxDrugName,dateState,hisDeptState,doctorState,auxDrugState);
    }

    @Override
    public PageVO<Map<String, Object>> getReportPpiFeeRank(PageVO<Map<String, Object>> page, String startTime, String endTime, String hisDeptName, String doctorName, String ppiName, Integer dateState, Integer hisDeptState, Integer doctorState, Integer ppiState) {
        return baseMapper.getReportPpiFeeRank(page,startTime,endTime,hisDeptName,doctorName,ppiName,dateState,hisDeptState,doctorState,ppiState);
    }

    @Override
    public PageVO<Map<String, Object>> getReportDoctorDrugFeeRank(PageVO<Map<String, Object>> page, String startTime, String endTime, String hisDeptName, String doctorName, String diagTreatType, Integer dateState, Integer hisDeptState, Integer doctorState, Integer diagTreatState) {
        return baseMapper.getReportDoctorDrugFeeRank(page,startTime,endTime,hisDeptName,doctorName,diagTreatType,dateState,hisDeptState,doctorState,diagTreatState);
    }

    @Override
    public PageVO<Map<String, Object>> getReportClinicRefundMonitor(PageVO<Map<String, Object>> page, String startTime, String endTime, String hisDeptName, String doctorName, String patientName, String itemType, String refundItem, Integer dateState, Integer hisDeptState, Integer doctorState, Integer patientNameState, Integer itemTypeState, Integer handlerState, Integer refundItemState) {
        return baseMapper.getReportClinicRefundMonitor(page, startTime, endTime, hisDeptName, doctorName, patientName, itemType, refundItem, dateState, hisDeptState,
                doctorState, patientNameState, itemTypeState, handlerState, refundItemState);
    }

    @Override
    public PageVO<Map<String, Object>> getReportMedicalQualityCore(PageVO<Map<String, Object>> page, String startTime, String endTime, String hmrpDeptName) {
        return baseMapper.getReportMedicalQualityCore(page, startTime, endTime, hmrpDeptName);
    }
}
